load("@rules_proto//proto:defs.bzl", "proto_library")
load("//proto/prost:defs.bzl", "rust_prost_library")
load("//rust:defs.bzl", "rust_test")

package(default_visibility = ["//proto/prost/private/tests:__subpackages__"])

proto_library(
    name = "well_known_types_proto",
    srcs = [
        "well_known_types.proto",
    ],
    deps = [
        "@com_google_protobuf//:any_proto",
        "@com_google_protobuf//:api_proto",
        "@com_google_protobuf//:compiler_plugin_proto",
        "@com_google_protobuf//:descriptor_proto",
        "@com_google_protobuf//:duration_proto",
        "@com_google_protobuf//:empty_proto",
        "@com_google_protobuf//:field_mask_proto",
        "@com_google_protobuf//:source_context_proto",
        "@com_google_protobuf//:struct_proto",
        "@com_google_protobuf//:timestamp_proto",
        "@com_google_protobuf//:type_proto",
        "@com_google_protobuf//:wrappers_proto",
    ],
)

rust_prost_library(
    name = "well_known_types_rs_proto",
    proto = ":well_known_types_proto",
)

rust_test(
    name = "well_known_types_test",
    srcs = ["well_known_types_test.rs"],
    edition = "2021",
    deps = [
        ":well_known_types_rs_proto",
    ],
)
